<template>
<div>
    <el-tree
            :data="treedata"
            show-checkbox
            default-expand-all
            node-key="id"
            ref="tree"
            highlight-current
            :props="defaultProps">
    </el-tree>

    <div class="buttons">
        <el-button @click="getCheckedNodes">通过 node 获取</el-button>
        <el-button @click="getCheckedKeys">通过 key 获取</el-button>
        <el-button @click="setCheckedNodes">通过 node 设置</el-button>
        <el-button @click="setCheckedKeys">通过 key 设置</el-button>
        <el-button @click="resetChecked">清空</el-button>
        <el-button @click="submitForm">提交</el-button>
    </div>

</div>
</template>

<script>
    export default {
        name: "TestTree",
        methods: {
            submitForm(){
                let permArray=this.$refs.tree.getCheckedKeys();
                if(permArray){
                    this.permString=permArray.join(",")
                    this.$axios({
                        url:this.$baseurl.dev+'manager/role/permission',
                        method:'post',
                        data:this.$qs.stringify({permString:this.permString,roleId:this.roleId})
                    }).then(res=>{
                        if(res.data.code==200){
                            alert('ok')
                        }
                    })
                }

            },
            getCheckedNodes() {
                console.log(this.$refs.tree.getCheckedNodes());
            },
            getCheckedKeys() {

                console.log(this.$refs.tree.getCheckedKeys());
            },
            setCheckedNodes() {
                this.$refs.tree.setCheckedNodes([{
                    id: 5,
                    name: '二级 2-1'
                }, {
                    id: 9,
                    name: '三级 1-1-1'
                }]);
            },
            setCheckedKeys() {
                this.$refs.tree.setCheckedKeys([3]);
            },
            resetChecked() {
                this.$refs.tree.setCheckedKeys([]);
            },
            reloadTreeData(){
                this.$axios({
                    url:this.$baseurl.dev+'manager/queryPermissionTreeLevel1',
                    method:'get'
                }).then(res=>{
                    console.log('reloadTreeData',res)
                    this.treedata=res.data.data
                })
            },

        },

        data() {
            return {
                permString:'',
                roleId:-1,
                treedata: [{
                    id: 1,
                    name: '一级 1',
                    children: [{
                        id: 4,
                        name: '二级 1-1',
                        children: [{
                            id: 9,
                            name: '三级 1-1-1'
                        }, {
                            id: 10,
                            name: '三级 1-1-2'
                        }]
                    }]
                }, {
                    id: 2,
                    name: '一级 2',
                    children: [{
                        id: 5,
                        name: '二级 2-1'
                    }, {
                        id: 6,
                        name: '二级 2-2'
                    }]
                }, {
                    id: 3,
                    name: '一级 3',
                    children: [{
                        id: 7,
                        name: '二级 3-1'
                    }, {
                        id: 8,
                        name: '二级 3-2'
                    }]
                }],
                defaultProps: {
                    children: 'children',
                    label: 'name'
                }
            };
        },

        created(){
            this.reloadTreeData();
        }
    }
</script>

<style scoped>

</style>
